﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Support.Entities;
using System.Configuration;
using System.Configuration.Provider;
using Support.Configuration;
using System.Data.SqlClient;

namespace DataAccess
{
    public abstract class BaseSQLDAL<T> where T : IEntity
    {
        protected string GetConnectionString_RepComcelAdm()
        {
            try
            {
                return Support.Configuration.ConfigurationManager.ConnectionString_RepComcelAdm;
            }
            catch (ProviderException ex)
            {                
                throw new ProviderException("Error al recuperar el string de conexión a la BD. Verifique que la conexión exista en el archivo de configuración.", ex);
            }
            catch (Exception ex)
            {
                throw new ProviderException("Error al recuperar el string de conexión a la BD.", ex);
            }
        }

        
        protected abstract T FillEntity(SqlDataReader reader);
    }
}
